Typically, when a web browser makes a request for a web page, the requested web page is generated by a web server. To generate the web page, the web server may apply complex domain logic to determine which data to retrieve from one or more data sources. A typical example of a data source is a content management system, which stores and serves content objects. In an example, a content management system allows a user, also referred to as an “editor,” to create and update those content objects. Once the web server retrieves data (such as content objects) from its data sources, the web server combines the data with presentation logic to generate the requested web page and serve it to the web browser. The generated web page is said to contain the retrieved data. For example, if a web server retrieves three content objects, arbitrarily referred to as C1, C2, and C3, in order to generate a web page, arbitrarily referred to as P, the web page, P, is said to contain content objects C1, C2, and C3. Together, the domain logic and presentation logic make up the web server's page generation logic.
A user functioning as an editor is often called upon to update a web page by updating the content objects that the web page contains using a content editing tool that is provided as part of a content management system. However, determining the relationship between a web page and the content objects contained in the web page is difficult, and finding the relevant content objects using a content editing tool can be laborious and error-prone. An editor may be provided with documented procedures to follow to accomplish these tasks, but due to the frequency with which web sites and web pages are changed, such documented procedures soon become obsolete.
Therefore, it would be desirable to have a way to identify all of the content objects contained within a particular web page and to allow an editor to find these content objects using a content editing tool.